Pole o wartości NULL jest polem bez wartości.
Jeśli pole w tabeli jest opcjonalne, możesz wstawić nowy rekord lub zaktualizować rekord bez dodawania wartości do tego pola. Następnie pole zostanie zapisane z wartością NULL.
Wartości NULL nie można sprawdzić za pomocą operatorów porównania, takich jak =, < lub <>.
Zamiast tego będziemy musieli użyć operatorów IS NULL i IS NOT NULL.
SELECT column_names
FROM table_name
WHERE column_name IS NULL
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL
Poniżej znajduje się przykład z tabeli „Customers” („Klienci”) bazy danych „Northwind”:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 5021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 5023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Operator IS NULL służy do testowania wartości null (wartości NULL).
Poniższe zapytanie SQL wyświetla listę wszystkich klientów z wartością NULL w polu „Address”:
Run SQLSELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NULL
Operator IS NOT NULL służy do sprawdzania, czy wartości nie są puste (wartości NOT NULL).
Poniższe zapytanie SQL wyświetla listę wszystkich klientów z wartością w polu „Address”:
Run SQLSELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL